﻿using System;

namespace AddressManager.Common.Event
{
    public interface IEventViewModel
    {
        /// <summary>
        /// Raised when an entity was added to the database context
        /// </summary>
        event EventHandler EntityAdded;

        /// <summary>
        /// Raised when an error occured
        /// </summary>
        event EventHandler ErrorRaised;

        /// <summary>
        /// Raised when the getting of entities from the database context has finished
        /// </summary>
        event EventHandler GettingFinished;

        /// <summary>
        /// Raised when the location of a map pin has changed
        /// </summary>
        event EventHandler PinSetted;

        /// <summary>
        /// Raised when an entity was modified and saved back to the database context
        /// </summary>
        event EventHandler EntityModified;

        /// <summary>
        /// Raised when an entity was deleted from the database context
        /// </summary>
        event EventHandler EntityDeleted;
    }
}